/*!
* @Author: luoob
* @Date: 2021-03-29 21:59:00
* @Last Modified by: luoob
* @Last Modified time: 2021-03-29 21:59:00
* @Instruduction: 请求服务配置
*/

import { AxiosResponse } from 'axios'
import { message } from 'antd'
import { resetUserInfoAction } from 'src/redux/actions/UserActions'
import Store from 'src/redux/store'
// import { captureMessage } from '@sentry/browser'

/**
 * 请求成功处理
 * @date 2021-03-29
 * @param {any} res
 * @returns {any}
 */
export function successHandler(res: AxiosResponse<any>) {
    const data = res.data
    // 判断 token 是否失效，失效跳转到登录页面
    if (data.status === 411) {
        // 重置用户信息
        resetUserInfoAction()(Store.dispatch)
        window.location.href='/login'
    }
    return {
        status: data.status,
        data: data.data,
        message: data.message
    }
}


/**
 * 请求错误处理
 * @date 2021-03-29
 * @param {any} err:any
 * @returns {any}
 */
export function errorHandler(err: any) {
    // 错误提示
    message.error('接口请求失败，请联系客服或重试')
    // 上报错误日志
    // captureMessage(err)
    return {
        status: -1,
        message: '接口请求失败，请重试',
        data: {}
    }
}
